#!/bin/bash

# 测试动态Y轴范围功能的脚本

echo "=== 测试动态Y轴范围功能 ==="

# 1. 检查动态Y轴配置
echo "1. 检查动态Y轴配置..."
if grep -q "maxY.*Math.max" src/main/resources/static/js/app.js; then
    echo "✓ 动态Y轴范围计算已配置"
else
    echo "✗ 动态Y轴范围计算未找到"
fi

# 2. 检查Y轴配置
echo -e "\n2. 检查Y轴配置..."
if grep -q "max: maxY" src/main/resources/static/js/app.js; then
    echo "✓ Y轴使用动态最大值"
else
    echo "✗ Y轴动态最大值配置未找到"
fi

# 3. 测试不同故障类型的数据
echo -e "\n3. 测试不同故障类型的数据..."

# 创建测试数据文件
cat > test_fault_data.json << 'EOF'
{
  "faultData": [
    {"type": "停车位", "x": 30.0, "y": 0, "color": "#000000"},
    {"type": "横条", "x": 45.0, "y": 1, "color": "#FF5722"},
    {"type": "断头", "x": 60.0, "y": 2, "color": "#F44336"}
  ]
}
EOF

echo "✓ 创建了测试数据文件"

# 4. 模拟API响应
echo -e "\n4. 模拟API响应..."
echo "测试数据包含以下故障类型："
echo "• 停车位 (y=0)"
echo "• 横条 (y=1)" 
echo "• 断头 (y=2)"
echo "预期Y轴最大值应该是: 2.5 (2 + 0.5)"

# 5. 启动应用测试
echo -e "\n5. 启动应用进行测试..."
echo "请执行以下步骤："
echo "1. 启动应用程序: ./start.sh"
echo "2. 打开浏览器访问: http://localhost:8080"
echo "3. 点击任意机器查看详情"
echo "4. 观察故障分布图："
echo "   - Y轴范围应该根据实际故障类型调整"
echo "   - 如果只有停车位(0)和横条(1)，Y轴最大值应该是1.5"
echo "   - 如果有断头(2)，Y轴最大值应该是2.5"
echo "   - 网格线应该只显示实际存在的故障类型对应的水平线"

# 6. 清理测试文件
rm -f test_fault_data.json

echo -e "\n=== 测试完成 ==="
echo "动态Y轴范围功能已配置，Y轴范围会根据后端返回的故障类型自动调整"

